package com.fourforfo.common.exception;

/**
 * 错误码和错误信息定义类
 * 1. 错误码定义规则为5位数字
 * 2. 前两位表示业务场景，后三位表示错误码类型。例如：100001。10:通用 001:系统未知异常
 * 错误码列表：
 *      10：通用
 *          000：系统未知异常
 *          001：参数格式校验
 *          002：短信验证码频率过高
 *      11：商品
 *      12：订单
 *      13：购物车
 *      14：物流
 *      15：用户
 *          001：用户名已存在
 *          002：手机号已被注册
 */
public enum BizCodeEnum {
    UNKNOW_EXCEPTION(10000,"系统未知异常"),
    VALID_EXCEPTION(10001,"参数格式校验异常"),
    SMS_CODE_EXCEPTION(10002,"验证码频率太高，请稍后再试"),
    TOO_MANY_REQUEST(10003,"流量请求过大"),

    ATTR_TYPE_EXCEPTION(10004,"属性类型校验异常"),
    UNREALIZED_FUNCTION(10005,"未实现功能"),

    PRODUCT_UP_EXCEPTION(11000,"商品上架异常"),

    USER_EXIST_EXCEPTION(15001,"用户名已存在"),
    PHONE_EXIST_EXCEPTION(15002,"手机号已被注册"),
    LOGINNAME_PASSWORD_ERROR_EXCEPTION(15003,"账号或密码错误"),
    LOGINNAME_NOT_EXIST_EXCEPTION(15004,"该账号不存在"),

    NO_STOCK_EXCEPTION(21000,"商品库存不足，锁库存操作失败！");

    private int code;
    private String msg;
    BizCodeEnum(int code,String msg){
        this.code = code;
        this.msg = msg;
    }

    public int getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}
